package com.nageoffer.shortlink.admin.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.nageoffer.shortlink.admin.dao.entity.GroupDO;
import com.nageoffer.shortlink.admin.dto.req.ShortLinkGroupSortReqDTO;
import com.nageoffer.shortlink.admin.dto.req.ShortLinkGroupUpdateReqDTO;
import com.nageoffer.shortlink.admin.dto.resp.ShortLinkGroupRespDTO;

import java.util.List;

/**
* @author 49523
* @description 针对表【t_group】的数据库操作Service
* @createDate 2024-10-16 16:30:22
*/
public interface GroupService extends IService<GroupDO> {

    /**
     * 新增短链接分组
     *
     * @param groupName 短链接分组名
     */
    void saveGroup(String groupName);

    /**
     * 返回短链接分组
     * @return 返回短链接分组集合
     */
    List<ShortLinkGroupRespDTO> listGroup();

    /**
     * 更新短链接分组
     * @param shortLinkGroupUpdateReqDTO 更新短链接分组请求参数
     */
    void updateGroup(ShortLinkGroupUpdateReqDTO shortLinkGroupUpdateReqDTO);

    /**
     * 删除短链接分组
     * @param gid 删除短链接分组标识：gid
     */
    void deleteGroup(String gid);

    /**
     * 排序短链接分组
     * @param requestParam 排序短链接分组请求参数
     */
    void sortGroup(List<ShortLinkGroupSortReqDTO> requestParam);
}
